package ocio.services;

import java.util.List;
//import java.util.Map;
import com.opensymphony.xwork2.Action;
/**
 * Interfaz con las funciones CRUD mínimas que deben ofrecer todas las clases del paquete ocio.services.
 * @author Esther García Galán
 * @author Rubén Gómez Vales
 * @version 1.0 13/05/2014
 */
public interface ServiceIF {
	/**
	 * Añadir un objeto a patir de los datos recogidos en otro objeto de la clase Action.
	 * @param form objeto de la clase Action con los datos del objeto a añadir.
	 */
	public boolean add (Action form); //Create

	/**
	 * Listar todos los objetos que cumplen los criterios especificados en 
	 * otro objeto de la clase Action.
	 * @param form Objeto de la clase Action con los criterios de búsqueda.
	 * @return Lista de objetos que cumplen con los criterios de búsqueda. 
	 */
	public List<Object> searchByFields(Action form);  	//Read	

	/**
	 * Buscar un objeto por su identificador único en base de datos.
	 * @param id Identificador del objeto buscado.
	 * @return Object Objeto con el identificador buscado.
	 */
	public Object searchById(int id);
	
	
	/**
	 * Actualizar los datos de un objeto a partir de los datos especificados en 
	 * otro objeto de la clase Action.
	 * @param form Objeto de la clase Action con datos del objeto a actualizar.
	 */
	public void update(Action form); 	//Update
	
	/**
	 * Borrar un objetos.
	 * @param o Objeto que se quiere borrar.
	 */	
	public void delete(Object o); //Delete
	
	
}
